Method, apparatus, and computer program product for determining a provider return rate

ABSTRACT

Provided herein are systems, methods and computer readable media for classifying a provider of products, services or experiences as a provider that should be engaged based on a predicted return rate for any products, services or experiences that may be offered and purchased by a consumer. An example method may comprise supplying a classifying model with a dataset, wherein the dataset comprises an identification of a provider and a plurality of attributes corresponding to the provider and identifying a class of the provider in accordance with the plurality of corresponding attributes, wherein the identification is determined based on one or more patterns determinative of a return rate by the classifying model.

CROSS REFERENCES TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. application Ser. No. 13/826,757, filed Mar. 14, 2013, which claims U.S. Provisional Patent Application No. 61/730,046, titled “METHOD AND APPARATUS FOR MATCHING SUBSCRIBER DEMAND WITH MERCHANT/INVENTORY SUPPLY” filed on Nov. 26, 2012, and U.S. Provisional Application No. 61/709,623, titled “MERCHANT SIDE CROSS-CATEGORY DEAL DIVERSITY”, filed Oct. 4, 2012, each of which is hereby incorporated by reference.

The present application is related to U.S. patent application Ser. No. 13/803,445, filed Mar. 14, 2013, titled “METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR SALES PIPELINE AUTOMATION”, U.S. patent application Ser. No. 13/826,333, filed Mar. 14, 2013, titled “METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR DEMAND FORECASTING”, U.S. patent application Ser. No. 13/805,000, filed Mar. 14, 2013, titled “METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR IDENTIFICATION OF SUPPLY SOURCES”, U.S. patent application Ser. No. 13/826,464, filed Mar. 14, 2013, titled “METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR LEAD ASSIGNMENT”, U.S. patent application Ser. No. 13/826,866, filed Mar. 14, 2013, titled “METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR CALCULATING A PROVIDER QUALITY SCORE”, U.S. patent application Ser. No. 13/804,403, filed Mar. 14, 2013, titled “METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR IDENTIFYING A SERVICE NEED VIA A PROMOTIONAL SYSTEM”, U.S. patent application Ser. No. 13/804,316, filed Mar. 14, 2013, titled “METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR DETERMINING CLOSING METRICS”, and U.S. patent application Ser. No. 13/830,243, filed Mar. 14, 2013, titled “CAPACITY CALCULATOR”, and U.S. patent application Ser. No. 13/804,403, filed Mar. 14, 2013, titled “MERCHANT SIDE CROSS-CATEGORY DEAL DIVERSITY” each of which is hereby incorporated by reference.

FIELD

Embodiments of the invention relate, generally, to determining whether a provider is likely to have a high return rate.

BACKGROUND

The internet has transformed ways in which people communicate. A promotional and marketing service may utilize the internet to provide consumers with available promotions related to products, services or experiences offered by providers that may be of interest. However, determining which providers to engage poses a risk. A promotion and marketing service may spend limited resources finding, engaging, maintaining and paying a provider. Some providers end up being a bad investment, because consumers may request refunds on the purchases of promotions related to certain providers. Research shows an extremely small percentage of providers cause a disproportionately large amount of refunds. For example, analysis shows that 7% of existing providers cause over 40% of refunds. Other research shows that 0.2% of providers cause 20% of refunds.

Applicant has discovered problems with current methods of using available information to determine with which providers of goods, service, and/or experiences, they should engage in a business relationship. Through applied effort, ingenuity, and innovation, Applicant has solved the identified problems by developing a solution that is embodied by the present invention, which is described in detail below.

BRIEF SUMMARY

In general, embodiments of the present invention provided herein include systems, methods and computer readable media for calculating a provider quality score.

In one embodiment, a method for classifying providers based on a return rate of a provider is provided, the method may comprise supplying a classifying model with a dataset, wherein the dataset comprises an identification of a provider and a plurality of attributes corresponding to the provider, and identifying a class of the provider in accordance with the plurality of corresponding attributes, wherein the identification is determined based on one or more patterns determinative of a return rate by the classifying model.

In another embodiment, the classifying model is a support vector machine. In another embodiment, the method may further comprise determining which one of a plurality of classifying models to utilize based on available attribute data. In another embodiment, the corresponding attributes are assembled from one or more of (1) internal data, (2) external data, and (3) web data. In another embodiment, the method may further comprise generating the plurality of attributes by normalizing a plurality of raw data. In another embodiment, the corresponding attributes comprises one or more of category data, sub-category data, and competitor feature data. In another embodiment, the corresponding attributes may comprise one or more of time data, financial stability risk data, median credit data, count of judgment data, and risk level data. In another embodiment, the corresponding attributes comprise web data.

In another embodiment a method for training a classifying model is provided, the method may comprise supplying a classifying model with a dataset, wherein the dataset comprises an identification of one or more providers, a plurality of attributes corresponding to the one or more providers and a historical return rate that corresponds to a promotion provided by the one or more providers and training the classifying model to recognize one or more patterns indicative of a return rate of a provider in accordance the plurality of corresponding attributes, wherein the corresponding attributes are assembled from one or more sources.

In another embodiment, the method may further comprise identifying a subset of the plurality of corresponding attributes determinative of an improved classification and training the classifying model in accordance the subset of the plurality of corresponding attributes. In another embodiment, the corresponding attributes may comprise one or more of category data, sub-category data, and competitor feature data. In another embodiment, the corresponding attributes comprises one or more of time data, financial stability risk data, median credit data, count of judgment data, and risk level data. In another embodiment, the corresponding attributes comprise web data. In another embodiment, the classifying model is a support vector machine. In another embodiment, the corresponding attributes are assembled from one or more of (1) internal data, (2) external data, and (3) web data. In another embodiment, the method may further comprise generating the plurality of attributes by normalizing a plurality of raw data.

In another embodiment of the present invention an apparatus is provided. The apparatus may comprise at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to supply a classifying model with a dataset, wherein the dataset comprises an identification of a provider and a plurality of attributes corresponding to the provider and identify a class of the provider in accordance with the plurality of corresponding attributes, wherein the identification is determined based on one or more patterns determinative of a return rate by the classifying model.

In another embodiment, the classifying model is a support vector machine. In another embodiment, the at least one memory and computer program code are configured to, with the at least one processor, cause the apparatus to determine which one of a plurality of classifying models to utilize based on available attribute data. In another embodiment, the corresponding attributes are assembled from one or more of (1) internal data, (2) external data, and (3) web data. In another embodiment, the at least one memory and computer program code are configured to, with the at least one processor, cause the apparatus to generate the plurality of attributes by normalizing a plurality of raw data. In another embodiment, the corresponding attributes comprises one or more of category data, sub-category data, and competitor feature data. In another embodiment, the corresponding attributes may comprise one or more of time data, financial stability risk data, median credit data, count of judgment data, and risk level data. In another embodiment, the corresponding attributes may comprise web data.

In another embodiment of the present invention, an apparatus is provided, the apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to supply a classifying model with a dataset, wherein the dataset comprises an identification of one or more providers, a plurality of attributes corresponding to the one or more providers and a historical return rate that corresponds to a promotion provided by the one or more providers, and train the classifying model to recognize one or more patterns indicative of a return rate of a provider in accordance the plurality of corresponding attributes, wherein the corresponding attributes are assembled from one or more sources.

In another embodiment, the at least one memory and computer program code are configured to, with the at least one processor, cause the apparatus to identify a subset of the plurality of corresponding attributes determinative of an improved classification and training the classifying model in accordance the subset of the plurality of corresponding attributes.

In another embodiment, the corresponding attributes comprises one or more of category data, sub-category data, and competitor feature data. In another embodiment, the corresponding attributes comprises one or more of time data, financial stability risk data, median credit data, count of judgment data, and risk level data. In another embodiment, the corresponding attributes may comprise web data. In another embodiment, the classifying model is a support vector machine. In another embodiment, the corresponding attributes are assembled from one or more of (1) internal data, (2) external data, and (3) web data. In another embodiment, the at least one memory and computer program code are configured to, with the at least one processor, cause the apparatus to generate the plurality of attributes by normalizing a plurality of raw data.

In another embodiment of the present invention, a computer program product is provided. The computer program product may comprise at least one computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions for supplying a classifying model with a dataset, wherein the dataset comprises an identification of a provider and a plurality of attributes corresponding to the provider and identifying a class of the provider in accordance with the plurality of corresponding attributes, wherein the identification is determined based on one or more patterns determinative of a return rate by the classifying model.

In another embodiment, the classifying model is a support vector machine. In another embodiment, the computer-executable program code portions further comprise program code instructions for determining which one of a plurality of classifying models to utilize based on available attribute data. In another embodiment, the corresponding attributes are assembled from one or more of (1) internal data, (2) external data, and (3) web data. In another embodiment, the computer-executable program code portions further comprise program code instructions for generating the plurality of attributes by normalizing a plurality of raw data. In another embodiment, the corresponding attributes comprises one or more of category data, sub-category data, and competitor feature data. In another embodiment, the corresponding attributes comprises one or more of time data, financial stability risk data, median credit data, count of judgment data, and risk level data. In another embodiment, the corresponding attributes comprise web data.

In another embodiment of the present invention a computer program product is provided, the computer program product comprising at least one computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions for supplying a classifying model with a dataset, wherein the dataset comprises an identification of one or more providers, a plurality of attributes corresponding to the one or more providers and a historical return rate that corresponds to a promotion provided by the one or more providers and training the classifying model to recognize one or more patterns indicative of a return rate of a provider in accordance the plurality of corresponding attributes, wherein the corresponding attributes are assembled from one or more sources.

In another embodiment, the computer-executable program code portions further comprise program code instructions for identifying a subset of the plurality of corresponding attributes determinative of an improved classification and training the classifying model in accordance the subset of the plurality of corresponding attributes. In another embodiment, the corresponding attributes comprises one or more of category data, sub-category data, and competitor feature data. In another embodiment, the corresponding attributes comprises one or more of time data, financial stability risk data, median credit data, count of judgment data, and risk level data. In another embodiment, the corresponding attributes comprise web data. In another embodiment, the classifying model is a support vector machine. In another embodiment, the corresponding attributes are assembled from one or more of (1) internal data, (2) external data, and (3) web data. In another embodiment, the computer-executable program code portions further comprise program code instructions for generating the plurality of attributes by normalizing a plurality of raw data.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:

FIG. 1 is a flowchart showing an exemplary process for determining a provider return rate;

FIG. 2 is block diagram of a system that may be specifically configured in accordance with an example embodiment of the present invention;

FIG. 3 is a block diagram of an apparatus that may be specifically configured in accordance with an example embodiment of the present invention;

FIG. 4 shows a flow chart showing an exemplary process of training and testing a learning algorithm in accordance with some embodiments discussed herein;

FIG. 5 shows a flowchart showing an exemplary process for determining a provider return rate, in accordance with some embodiments discussed herein;

FIG. 6 shows a flowchart showing an exemplary process for generating attribute data by normalizing raw data, in accordance with some embodiments discussed herein; and

FIG. 7 is block diagram of a system that may be specifically configured in accordance with an example embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.

As used herein, the terms “data,” “content,” “information” and similar terms may be used interchangeably to refer to data capable of being captured, transmitted, received, displayed and/or stored in accordance with various example embodiments. Thus, use of any such terms should not be taken to limit the spirit and scope of the disclosure. Further, where a computing device is described herein to receive data from another computing device, it will be appreciated that the data may be received directly from the another computing device or may be received indirectly via one or more intermediary computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, and/or the like, sometimes referred to herein as a “network.” Similarly, where a computing device is described herein to send data to another computing device, it will be appreciated that the data may be sent directly to the another computing device or may be sent indirectly via one or more intermediary computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, and/or the like.

Overview

The methods, apparatus and computer program products described herein are operable to determine a provider return rate and/or whether a provider is likely to have a high return rate. A return may be the act of requesting a refund of the purchase price of a promotion that a consumer bought in the past. The return rate of a provider may be the percentage of promotions related to the provider that are returned. In one example, a provider return rate algorithm may classify a provider into one of two categories. In one category, a provider may be labeled a “bad provider” due to having attributes associated or correlated with previous providers having a high return rate.

Because analysis shows that a percentage of providers cause a disproportionately large amount of refunds, a promotion and marketing service access, capture and/or store data related to providers with known return rates and utilize that information to determine likely return rates of other providers.

In one example, a promotion and marketing system may supply a data set to a learning machine or algorithm. The learning machine or algorithm may then determine which features or attributes of a provider correlate to a high return rate and which features correlate to a low return rate. Once the learning machine or algorithm is trained, live data associated with a new provider may be input and the learning machine or algorithm may then classify the provider as likely to have a high return rate or not likely to have a high return rate. As such, the promotion and marketing system may determine how to proceed with a particular provider on a particular promotion. Alternatively or additionally, in some example embodiments, the learning machine or algorithm may output a score or rate for each provider to enable the promotion and marketing system to make a choice between providers.

Definitions

A promotion and marketing service may include a service that is accessible via one or more computing devices and is operable to provide example promotion and/or marketing services on behalf of one or more providers that are offering one or more instruments that are redeemable for goods, services, experiences and/or the like. The promotion and marketing service is further configured to illustrate or otherwise inform one or more consumers of the availability of one or more instruments in the form of one or more impressions. In some examples, the promotion and marketing service may also take the form of a redemption authority, a payment processor, a rewards provider, an entity in a financial network, a promoter, an agent and/or the like. As such, the service is, in some example embodiments, configured to present one or more promotions via one or more impressions, accept payments for promotions from consumers, issue instruments upon acceptance of an offer, participate in redemption, generate rewards, provide a point of sale device or service, issue payments to providers and/or or otherwise participate in the exchange of goods, services or experiences for currency, value and/or the like.

A provider may include, but is not limited to, a merchant, business owner, consigner, shopkeeper, tradesperson, vender, operator, entrepreneur, agent, dealer, organization, supply source or the like that is in the business of a providing a good, service or experience to a consumer, facilitating the provision of a good, service or experience to a consumer and/or otherwise operating in the stream of commerce. For example, a provider may form a running company that sells attire that is generally used by a person who runs or participates in athletic activities.

A promotion may include, but is not limited to, any type of offered, presented or otherwise indicated reward, discount, coupon, credit, deal, incentive, discount, media or the like that is indicative of a promotional value or the like that upon purchase or acceptance results in the issuance of an instrument that may be used toward at least a portion of the purchase of particular goods, services and/or experiences defined by the promotion. An example promotion, using the aforementioned running company as the example provider, is $25 for $50 toward running shoes. In some examples, the promotion defines an accepted value (e.g., a cost to purchase the promotion), a promotional value (e.g., the value of the resultant instrument beyond the accepted value), a residual value (e.g., the value upon return or upon expiry of one or more redemption parameters), one or more redemptions parameters and/or the like. For example, and using the running company promotion as an example, the accepted value is $25 and the promotional value is $50. In this example, the residual value may be equal to the accepted value.

Consumers may include, but are not limited to, a client, customer, purchaser, shopper, user or the like who may be in the position to or does exchange value for one or more instruments under the terms defined by the one or more promotions. For example, and using the aforementioned running company as the example provider, an individual who is interested in purchasing running shoes.

An instrument may include, but is not limited to, any type of gift card, tender, electronic certificate, medium of exchange, voucher, or the like that embodies the terms of the promotion from which the instrument resulted and may be used toward at least a portion of the purchase, acquisition, procurement, consumption or the like of goods, services and/or experiences. In some examples, the instrument may take the form of tender that has a given value that is exchangeable for goods, services and/or experiences and/or a reduction in a purchase price of a particular good, service or experience. In some examples, the instrument may have multiple values, such as accepted value, a promotional value and/or a residual value. For example, using the aforementioned running company as the example provider, an electronic indication in a mobile application that shows $50 of value to spend at the running company. In some examples, the accepted value of the instrument is defined by the value exchanged for the instrument. In some examples, the promotional value is defined by the promotion from which the instrument resulted and is the value of the instrument beyond the accepted value. In some examples, the residual value is the value after redemption, the value after the expiry or other violation of a redemption parameter, the return or exchange value of the instrument and/or the like.

Support vector machines (SVMs) are supervised learning models with associated learning algorithms that analyze data and recognize patterns, used for classification and regression analysis. Classifying data is a task often associated with machine learning. SVMs are one type of machine learning. The basic SVM may take a set of input data and predict, for each given input, which of two possible classes forms the output. Given a set of training examples, each marked as belonging to one of two categories, a SVM training algorithm builds a classifying model that assigns new examples into one category or the other. A SVM may represent the examples as points in space, mapped so that the examples of the separate categories are divided by a clear gap that is as wide as possible. New examples may then be mapped into that same space and predicted to belong to a category based on which side of the gap they fall on.

Process Overview

By way of example, FIG. 1 is a block a diagram that illustrates an exemplary process for determining a provider return rate. In general, the process may access and/or capture internal, external and web data related to a provider. The process may then supply one or more of the internal, external or web data to a learning algorithm. The learning algorithm may be trained to calculate and/or determine a provider return rate based on the supplied data. In some example embodiments the learning algorithm may classify the provider based on a predicted return rate.

As shown in block 12 of FIG. 1, an apparatus, such as the apparatus 30 or promotional system 710, may be configured to cause a promotion and marketing system to supply a data set to a provider return rate algorithm. The dataset may include one or more of internal data, external data, and captured web data. Internal data may comprise category information, sub-category information, location information, price information, information related to a number of promotions a provider has offered via the promotion and marketing system or a competitor system, provider attributes (e.g., time in business, market cap, number of employees, owner information, branding, etc.). Internal data may also include an actual return rate for a particular provider with respect to their previously offered promotions. External data may include credit report data, such as time in file data, financial stability risk data, median credit data, count of judgment data and risk level data. Captured web data may include data such as review ratings and numbers of reviews from a plurality of internet sites (e.g., Yelp®, Google®, Yelp®, Yahoo®, City Search®, Trip Advisor®, etc.), likes (e.g., Facebook® likes), and the like. Other factors may be included based on the factors ability to provide an indication of a provider return rate.

In some example embodiments, the provider return rate algorithm may be determined based on the availability of specific data in the data set. As such, there may be one or more available provider return rate algorithms. For example, in an instance in which credit report data is not available for a provider a first provider return rate algorithm may be used, whereas a second provider return rate algorithm may be used in an instance in which credit report data is available.

As shown in block 14 of FIG. 1, an apparatus, such as the apparatus 30 or promotional system 710, may be configured to determine a return rate of a provider. In some example embodiments, the apparatus 30 is configured to be trained to calculate or determine a return rate based on a training and testing method that may comprise inputting one or more subsets of training data, generating one or more algorithms for determining return rate, testing the algorithms, selecting an algorithm based on one or more predetermined factors (e.g., accuracy, etc.) and/or the like.

As shown in block 16 of FIG. 1, an apparatus, such as the apparatus 30 or promotional system 710, may be configured to identify a class for the provider based on a determined return rate of the provider. In another embodiment, the identification may be made based on whether the provider is determined likely to have a return rate over or under a predetermined threshold (e.g., 10%).

For example, a provider may have associated data such as category indicated a “food and drink” category, sub-category data indicating “coffee shop”, competitor data indicating the provider has one previous competitor offer, no credit report data, and various review data. The apparatus, such as an apparatus comprising a Support Vector Machine (SVM) or other supervised learning model may receive that data and determine whether the provider likely to have a return rate above a predetermined threshold based on learning and testing process in which its already been through.

System and Apparatus

Referring now of FIG. 2, a system that supports communication, either wirelessly or via a wireline, between a computing device 22 and a server 24 or other network entity (hereinafter generically referenced as a “server”) is illustrated. As shown, the computing device and the server may be in communication via a network 28, such as a wide area network, such as a cellular network or the Internet or a local area network. However, the computing device and the server may be in communication in other manners, such as via direct communications between the computing device and the server.

The computing device 22 may be embodied by a number of different devices including mobile computing devices, such as a personal digital assistant (PDA), mobile telephone, smartphone, laptop computer, tablet computer, or any combination of the aforementioned, and other types of voice and text communications systems. Alternatively, the computing device may be a fixed computing device, such as a personal computer, a computer workstation or the like. The server 24 may also be embodied by a computing device and, in one embodiment, is embodied by a web server. Additionally, while the system of FIG. 2 depicts a single server, the server may be comprised of a plurality of servers which may collaborate to support browsing activity conducted by the computing device.

Regardless of the type of device that embodies the computing device 22, the computing device may include or be associated with an apparatus 30 as shown in FIG. 3. In this regard, the apparatus may include or otherwise be in communication with a processor 32, a memory device 34, a communication interface 36 and a user interface 38. As such, in some embodiments, although devices or elements are shown as being in communication with each other, hereinafter such devices or elements should be considered to be capable of being embodied within the same device or element and thus, devices or elements shown in communication should be understood to alternatively be portions of the same device or element.

In some embodiments, the processor 32 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor) may be in communication with the memory device 34 via a bus for passing information among components of the apparatus. The memory device may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device may be an electronic storage device (e.g., a computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor). The memory device may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus 30 to carry out various functions in accordance with an example embodiment of the present invention. For example, the memory device could be configured to buffer input data for processing by the processor. Additionally or alternatively, the memory device could be configured to store instructions for execution by the processor.

As noted above, the apparatus 30 may be embodied by a computing device 22 configured to employ an example embodiment of the present invention. However, in some embodiments, the apparatus may be embodied as a chip or chip set. In other words, the apparatus may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single “system on a chip.” As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.

The processor 32 may be embodied in a number of different ways. For example, the processor may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processor may include one or more processing cores configured to perform independently. A multi-core processor may enable multiprocessing within a single physical package. Additionally or alternatively, the processor may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.

In an example embodiment, the processor 32 may be configured to execute instructions stored in the memory device 34 or otherwise accessible to the processor. Alternatively or additionally, the processor may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor is embodied as an ASIC, FPGA or the like, the processor may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor may be a processor of a specific device (e.g., a head mounted display) configured to employ an embodiment of the present invention by further configuration of the processor by instructions for performing the algorithms and/or operations described herein. The processor may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor. In one embodiment, the processor may also include user interface circuitry configured to control at least some functions of one or more elements of the user interface 38.

Meanwhile, the communication interface 36 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data between the computing device 22 and a server 24. In this regard, the communication interface 36 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications wirelessly. Additionally or alternatively, the communication interface may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). For example, the communications interface may be configured to communicate wirelessly with the head mounted displays, such as via Wi-Fi, Bluetooth or other wireless communications techniques. In some instances, the communication interface may alternatively or also support wired communication. As such, for example, the communication interface may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms. For example, the communication interface may be configured to communicate via wired communication with other components of the computing device.

The user interface 38 may be in communication with the processor 32, such as the user interface circuitry, to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to a user. As such, the user interface may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, and/or other input/output mechanisms. In some embodiments, a display may refer to display on a screen, on a wall, on glasses (e.g., near-eye-display), in the air, etc. The user interface may also be in communication with the memory 34 and/or the communication interface 36, such as via a bus.

FIGS. 4 and 5 illustrate example flowcharts of the example operations performed by a method, apparatus and computer program product in accordance with an embodiment of the present invention. It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry and/or other device associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory 34 of an apparatus employing an embodiment of the present invention and executed by a processor 32 in the apparatus. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus provides for implementation of the functions specified in the flowcharts' block(s). These computer program instructions may also be stored in a non-transitory computer-readable storage memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage memory produce an article of manufacture, the execution of which implements the function specified in the flowcharts' block(s). The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowcharts' block(s). As such, the operations of FIGS. 4 and 5, when executed, convert a computer or processing circuitry into a particular machine configured to perform an example embodiment of the present invention. Accordingly, the operations of FIGS. 4 and 5 define an algorithm for configuring a computer or processing to perform an example embodiment. In some cases, a general purpose computer may be provided with an instance of the processor which performs the algorithms of FIGS. 4 and 5 to transform the general purpose computer into a particular machine configured to perform an example embodiment.

Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.

In some embodiments, certain ones of the operations herein may be modified or further amplified as described below. Moreover, in some embodiments additional optional operations may also be included. It should be appreciated that each of the modifications, optional additions or amplifications below may be included with the operations above either alone or in combination with any others among the features described herein.

Training and Testing of Classifying Models

FIG. 4 shows an example method, namely process 400, that may be executed by one or more machines (some examples of which are discussed in connection with FIGS. 2, 3, and/or 7) to train one or more classifying models to recognize one or more patterns that lead to a sub-optimal return rate in order to determine whether a provider is likely to have a return rate above a predetermined threshold, in accordance with some embodiments discussed herein. In some example embodiments, a provider return rate is determined based on actual return rates of providers, whereas in other example embodiments the provider return rate may be based on one or more internal factors, external factors and/or the like.

As shown in block 402 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for accessing data related to one or more providers. The data may include category data and/or sub-category data related to the products, services or experiences a provider is able to provide in a promotion, location data, hyper-location data, price data, competitor promotion data or the like. For example, “Food and Dining” may be category data and “Bakery and Dessert” may be sub-category data. Competitor promotion data may include data indicating the number of competitor promotions that have been offered by a provider. In one embodiment, the competitor promotion data may also comprise data indicating a time of the promotion(s) offered by a competitor and/or with which competitor the promotion was offered.

As shown in block 404 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for accessing external data related to one or more providers. In one embodiment, external data may include credit report data (e.g., Experian® data), credit report data (e.g., time in file data), financial stability risk data, median credit data, count of judgment data and risk level data. In another embodiment, external data may include credit report data from any credit bureau or agency. For example, in the United States, Experian®, Equifax®, Transunion® may be used. In other embodiments, different countries may have different data, different access to data and/or different levels of significance of the data.

As shown in block 406 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for capturing web data related to one or more providers. Web data may include review data and/or a number of reviews of the provider on one or more review type websites (e.g., Yelp®, Google®, Yahoo®, City Search®, Trip Advisor®, etc.) and/or “likes” (e.g., Facebook® likes), and the like. Web data, in some examples, may indicate that a provider has 1,000 reviews on Yelp® with an average review score of 3.5. Web data may also indicate whether a provider has reviews on Yahoo®, Google®, City Search®, and or the like as well as the quantity of reviews on each of those websites.

As shown in block 408 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for generating attribute data by normalizing one or more of the internal data, external data, and/or web data. In some example embodiments, generating attribute data by normalizing includes assigning a number of reviews, an average review score, and/or a number of “likes” to a particular range that describes the character of the reviews. For examples, “likes” may be placed in buckets such as “0”, “1-25”, or “25+”. Alternatively or additionally, other normalizing may occur, such as determining categories and/or sub-categories for a provider, classifying a credit score and/or the like. Additional details relating to example attributes and methods associated with generating the attribute data are shown with respect to FIG. 6.

As shown in block 410 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for supplying a first subset of attribute data to a first classifying model as training data. In one embodiment, 25% of the providers and their associated attribute data are supplied to a first classifying model as training data. In one embodiment, the first classifying model utilizes a support vector machine (SVM) modeling technique. Other modeling techniques may also be used in some example embodiments, such as decision tree learning, association rule learning, artificial neural networking, inductive logic programming, clustering, or the like.

As shown in block 412 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for training the first classifying model based on return rate determined from historical promotions provided via the first subset of attribute data. In one embodiment, the first subset of data includes a historical return rate related to previous promotions and the classifying model is trained to recognize patterns that may lead to particular return rates. In one embodiment, the first classifying model is trained to determine an unknown return rate of a provider. In another embodiment, the first classifying model is trained to determine and/or identify whether a return rate of a provider is likely to be above or below a predetermined threshold (e.g., 10%). Further still, in other example embodiments the classifying model may estimate a risk level for the provider, where the risk level indicates the risk of returns, risk of unsatisfied consumers and/or the like. In one embodiment, the second classifying model may generate or associate a significance number of each attribute.

As shown in block 414 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such processor 32, or the like, for testing the results of the first classifying model generated with respect to FIG. 412. In one embodiment, in an instance in which 25% of the provider and associated data are provided as training data, the remaining 75% of the data may be used as testing data.

In one example embodiment, block 412 is configured for training the first classifying model to recognize one or more patterns that lead to a sub-optimal return rate and block 414 is configured for determining the accuracy of the first classifying model using the remaining subset of data.

As shown in block 416 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for supplying a second subset of attribute data to a second classifying model as training data. In one embodiment, in an instance in which the first subset included 25% of the providers and associated attribute data, the second subset may comprise a different 25% of the providers and associated attribute data. The second classifying model may utilize a support vector machine (SVM) modeling technique. Other modeling techniques may also be used in some example embodiments, such as decision tree learning, association rule learning, artificial neural networking, inductive logic programming, clustering, or the like.

As shown in block 418 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for training the second classifying model based on return rate determined from historical promotions provided via the second subset of attribute data. In one embodiment, the second subset of data includes a historical return rate related to previous promotions and the second classifying model is trained to recognize patterns that may lead to particular return rates. In one embodiment, the second classifying model is trained to determine an unknown return rate of a provider. In another embodiment, the second classifying model is trained to determine and/or identify whether a return rate of a provider is likely to be above or below a predetermined threshold (e.g., 10%). Further still, in other example embodiments the second classifying model may estimate a risk level for the provider, where the risk level indicates the risk of returns, risk of unsatisfied consumers and/or the like. In one embodiment, the second classifying model may generate or associate a significance number of each attribute.

As shown in block 420 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for testing the results of the first classifying model. In one embodiment, in an instance in which 25% of the provider and associated data are provided as training data in block 418, the remaining 75% is used as testing data.

In one example embodiment, block 418 is configured for training the second classifying model to recognize one or more patterns that lead to a sub-optimal return rate and block 420 is configured for determining the accuracy of the second classifying model using the remaining subset of data.

As shown in block 422 of FIG. 4, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for comparing the results from the first classifying model and the second classifying model. For example, apparatus 20 may be configured to output the results from the first classifying model and the second classifying model to a confusion matrix. The comparison may compare for example, how many “bad” providers (e.g., providers with a return rate above a predetermined threshold) were correctly identified in each classifying model and how many “bad” providers were identified as “good” providers (e.g., providers with a return rate equal to or below a predetermined threshold). The comparison may also compare how many “good” providers were correctly identified and how many “good” providers were identified as “bad”.

In one example embodiment, the comparison may yield a more accurate classifying model in block 422 which then may be utilized for execution on live data. Live data may be attribute data related to a provider for which classification as a “bad” provider or “good” provider is sought. For example, a promotion and marketing service may have access to internal data such as category, sub-category and competitor promotion data, external data such as credit report data, and captured web data such as reviews and likes from one or more websites.

Classifying Provider Based on Predicted Return Rate

FIG. 5 shows an example method, namely process 500, that may be executed by one or more machines (some examples of which are discussed in connection with FIGS. 2, 3, and/or 7) to classify a provider as a “bad” provider or “good” provider based on a predicted return rate, in accordance with some example embodiments discussed herein.

As shown in block 502 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for accessing internal data related to a provider. The data may include category data and/or sub-category data related to the products, services or experiences a provider is able to provide in a promotion, location data, hyper-location data, price data, competitor promotion data or the like. For example, “Food and Dining” may be category data and “Bakery and Dessert” may be sub-category data. Competitor promotion data may include data indicating the number of competitor promotions that have been offered by a provider. In one embodiment, the competitor promotion data may also comprise data indicating a time of the promotion(s) offered by a competitor and/or with which competitor the promotion was offered.

As shown in block 504 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for accessing external data related to a provider. In one embodiment, external data may include credit report data (e.g., Experian® data), credit report data (e.g., time in file data), financial stability risk data, median credit data, count of judgment data and risk level data. In another embodiment, external data may include credit report data from any credit bureau or agency. For example, in the United States, Experian®, Equifax®, Transunion® may be used. In other embodiments, different countries may have different data, different access to data and/or different levels of significance of the data.

As shown in block 506 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for capturing web data related to a provider. Web data may include review data and/or a number of reviews of the provider on one or more review type websites (e.g., Yelp®, Google®, Yahoo®, City Search®, Trip Advisor®, etc.) and/or “likes” (e.g., Facebook® likes), and the like. Web data, in some examples, may indicate that a provider has 1,000 reviews on Yelp® with an average review score of 3.5. Web data may also indicate whether a provider has reviews on Yahoo®, Google®, City Search®, and or the like as well as the quantity of reviews on each of those websites.

As shown in block 508 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for generating attribute data by normalizing the internal data, the external data and/or web data related to a provider. In some example embodiments, generating attribute data by normalizing includes assigning a number of reviews, an average review score, and/or a number of “likes” to a particular range that describes the character of the reviews. For examples, “likes” may be placed in buckets such as “0”, “1-25”, or “25+”. Alternatively or additionally, other normalizing may occur, such as determining categories and/or sub-categories for a provider, classifying a credit score and/or the like. Additional details relating to example attributes and methods associated with generating the attribute data are shown with respect to FIG. 6.

As shown in block 510 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for determining which of one or more available classifying models to utilize. In one embodiment, different classifying models may be available based on which attribute data is provided. For example, in an instance in which credit report data is not provided, a first classifying model may be utilized. The first classifying model may have been trained with attribute data that did not comprise credit report data. In another embodiment, in an instance in which internal data, external data including credit report data and web data are each provided, a second classifying model may be utilized. The second classifying model may have been trained with attribute data that included internal data, external data including credit report data, and web data.

As shown in block 512 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for supplying the attribute data to the classifying model determined at block 510.

As shown in block 514 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for optimizing a classifier. In one embodiment, parameters of a classifier may be optimized by a grid search on the parameter space using cross validation to evaluate the accuracy.

As shown in block 516 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for determining a return rate. In one embodiment, apparatus 20 may be configured to predict whether a return rate will be greater than, equal to, or less than a predetermined threshold (e.g., 10%).

As shown in block 518 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for identifying a class of the provider based on the determined likelihood of whether the return rate is greater than, equal to or less than a predetermined threshold. For example, one class of providers may be those providers predicted to have a return rate above the predetermined threshold and may then be referred to as “bad” providers.

As shown in block 520 of FIG. 5, an apparatus, such as the apparatus 30 or promotional system 710, may include means, such as processor 32, or the like, for assigning a label to the provider based on at least one of the determined return rate, the determined likelihood of a return rate exceeding a threshold, and the identified class. For example, a label such as “bad” provider may be assigned to providers that are predicted to have a return rate above a predetermined threshold.

Generating Attributes by Normalizing Raw Data

FIG. 6 shows a list of example attributes and corresponding example methods that may be executed to generate the attributes by normalizing the raw data, in accordance with some embodiments discussed herein. For example, attribute 1 may represent category data, specifically beauty, wellness and healthcare. To determine a normalized value of attribute 1, apparatus 20 may be configured to execute an algorithm on associated raw data related to a provider. Here, for example, if the category data associated with a provider is “beauty, wellness and healthcare”, the value of attribute 1 is 1. If the category data associated with a provider is not “beauty, wellness and healthcare”, the value of attribute 1 is 0.

As can be seen in FIG. 6, a number of example attributes relate to category data and sub-category data. It should be understood, that attribute data related to location and hyper location data may be generated in a similar fashion. For example, if the location data associated with a provider is “Chicago”, the value of attribute n may be 1. If the category data associated with a provider is not “Chicago”, the value of attribute 1 may be 0.

It should also be understood that providers may have associated data indicating one or more categories, sub-categories, location, hyper-locations, prices or the like. For example, a provider, such as a gym, may be associated with category data such as “beauty, wellness, and healthcare”, “Food and drink”, “Leisure Offers and Activities” and/or “Services”. A gym may also have more than one location, and may be able to provide promotions in a variety of price ranges and time frames.

FIG. 6 also shows example attribute data associated with review websites such as Yelp®, Google®, Yahoo®, City Search®, Trip Advisor®. It should be understood that any review website could have associated attribute data, such as for example Zagat®, Bing® or the like. It should also be understood that attribute data associated with reviews related to one or more categories may be generated. For example, a website may provide reviews related to a provider's food, service, decor, price or the like. Attribute data may be generated related to each of one or more categories, such as a provider's food, service, decor, price, or the like.

It should also be understood that a location, hyper-location, category or sub-category may affect data available for the provider. For example, providers from different locations (e.g., different countries, states, neighborhoods or the like) may be associated with different attribute data. For example, different countries have different credit reporting rules and agencies. Thus, a promotion and marketing system may utilize of first combination of attributes for a provider in a first location, hyper-location, category or sub-category and a second combination of attributes for a provider in a second location, hyper-location, category or sub-category.

In one embodiment, other attribute data may be used. For example, attribute “is_in_bad_category” may relate to a identifying providers who offer products, services, and/or experiences in one or more categories categorized as having high return rates based on prior performance data. The feature may be normalized such that if the sub-category of the provider is associated with high return rates, the attribute is 1, else the attribute is 0. Other example attributes are “is in bad market”, which may be normalized such that if the provider is located in a location and/or hyper local region associated with high return rates, the attribute is 1, else the attribute is 0. Another example feature is “average price for sub-category” and “number of website provider has rating”.

Additionally or alternatively, one embodiment may include at least one of “years_in_file” indicating the number of years a provider has been in business, “judgment count” indicating a number of judgments, “median credit” indicating a median credit score, and/or “provider stability risk score” indicating a provider's stability risk score. In another example embodiment, additional features may include demographic features, such as census data. For example, demographic features related to income, education level, ethnicity, etc. in a location and/or hyper local region that the business is located.

Identifying Determinative Attribute Data

In one embodiment, determinative attribute data is identified. In one example embodiment, one or more machines, such as those discussed in FIGS. 2, 3, and 7, may be configured to perform a process of selecting the most significant features by performing one or more different feature selection approaches. These approaches may be (1) forward selection, which is starting with the most significant feature and adding a next significant feature until the model gets stable; (2) backward elimination, which starts with all the features and exclude the non-significant features one by one until model is stable; (3) a combination of forward selection and backward elimination; and (4) checking the significance of the feature by statistical model (regression). In one embodiment, each feature selection approach may give a subset of significant features. The features that are not shown to be significant by one or more of the feature selection approaches may be excluded from the model. Feature selection processes may be utilized when there are more features than needed that are available, particularly in the external dataset.

Promotion and Marketing System

FIG. 7 illustrates an example network architecture for a system in accordance with some embodiments discussed herein. System 700 may include one or more devices and sub-systems that are configured to implement some of the example embodiments discussed herein. For example, system 700 may include promotion system 710, which may include, for example, a processor 32, memory 34, a communications interface 36, and a user interface 38. Memory 34 may include promotional computing module 712.

Promotion system 710 can be coupled to a search engine system 734, a 3^(rd) party server 732, via network 28. Promotion system 710 may additionally be coupled to one or more consumer devices and/or one or more provider devices via network 28

In this regard, network 28 may include any wired or wireless communication network including, for example, a wired or wireless local area network (LAN), personal area network (PAN), metropolitan area network (MAN), wide area network (WAN), or the like, as well as any hardware, software and/or firmware required to implement it (such as, e.g., network routers, etc.). For example, network 28 may include a cellular telephone, an 802.11, 802.16, 802.20, and/or WiMax network. Further, the network 28 may include a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols. In one embodiment, promotion system 710 can be coupled to any consumer and/or provider devices directly via any wired or wireless communication network including, for example, a wired or wireless local area network (LAN), personal area network (PAN), metropolitan area network (MAN), wide area network (WAN), or the like, as well as any hardware, software and/or firmware required to implement it.

Consumer devices and/or provider devices may each be implemented as a personal computer and/or other networked device, such as a cellular phone, a “smartphone”, a tablet computer, mobile device, etc., that may be used for any suitable purpose in addition to buying or selling offers.

Memory 34 of promotion system 710 may include promotional computing module 712, and/or other programs 720 and data repositories 722. Promotional computing module 712 can be any suitable network server and/or other type of processing device. The programs 720 and data repositories 722 may be any suitable network database configured to store offer parameter data, consumer account information, provider account information and/or analytics data, such as that discussed herein. In this regard, promotion system 710 may include, for example, at least one backend data server, network database, cloud computing device, among other things.

Regarding promotion system 710, FIG. 7 shows a schematic block diagram of circuitry, some or all of which may be included. As illustrated in FIG. 7, in accordance with some example embodiments, the circuitry can includes various means, such as processor 32, memory 34, communications interface 36, and/or user interface 38. As referred to herein, “module” includes hardware, software and/or firmware configured to perform one or more particular functions. In this regard, the means of the provider device's circuitry as described herein may be embodied as, for example, circuitry, hardware elements (e.g., a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer-readable program instructions stored on a non-transitory computer-readable medium (e.g., memory 34) that is executable by a suitably configured processing device (e.g., processor 32), or some combination thereof.

In addition, promotion system 710 may comprise one or more distinct computing systems/devices and may span distributed locations. In other example embodiments, a pre-processing module or other module that requires heavy computational load may be configured to perform that computational load and thus may be on a remote device or server. Furthermore, each block shown may represent one or more such blocks as appropriate to a specific example embodiment. In some cases one or more of the blocks may be combined with other blocks.

Processor 32 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an application specific integrated circuit (ASIC) or field programmable gate array (FPGA), or some combination thereof. Accordingly, although illustrated in FIG. 3 as a single processor, in some embodiments, processor 32 comprises a plurality of processors. The plurality of processors may be embodied on a single computing device or may be distributed across a plurality of computing devices collectively. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of promotion system 710 as described herein. In an example embodiment, processor 32 is configured to execute instructions stored in memory 34 or otherwise accessible to processor 32. These instructions, when executed by processor 32, may cause promotion system 710 to perform one or more of the functionalities as described herein.

Whether configured by hardware, firmware/software methods, or by a combination thereof, processor 32 may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when processor 32 is embodied as an ASIC, FPGA or the like, processor 32 may comprise specifically configured hardware for conducting one or more operations described herein. Alternatively, as another example, when processor 32 is embodied as an executor of instructions, such as may be stored in memory 34, the instructions may specifically configure processor 32 to perform one or more algorithms and operations described herein, such as those discussed in connection with FIGS. 1, 4, 5, 6, and 7.

Memory 34 may comprise, for example, volatile memory, non-volatile memory, or some combination thereof. Although illustrated in FIG. 3 as a single memory, memory 34 may comprise a plurality of memory components. The plurality of memory components may be embodied on a single computing device or distributed across a plurality of computing devices. In various embodiments, memory 34 may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM), an optical disc, circuitry configured to store information, or some combination thereof. Memory 34 may be configured to store information, data (including offer parameter data, consumer data, inventory data and/or analytics data), applications, instructions, or the like for enabling promotion system 710 to carry out various functions in accordance with example embodiments of the present invention. For example, in at least some embodiments, memory 34 is configured to buffer input data for processing by processor 32. Alternatively or additionally, in at least some embodiments, memory 34 is configured to store program instructions for execution by processor 32. Memory 34 may store information in the form of static and/or dynamic information.

Communications interface 36 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., memory 34) and executed by a processing device (e.g., processor 32), or a combination thereof that is configured to receive and/or transmit data from/to another device, such as, for example, a consumer device, a provider device and/or the like. In some embodiments, communications interface 36 (like other components discussed herein) can be at least partially embodied as or otherwise controlled by processor 32. In this regard, communications interface 36 may be in communication with processor 32, such as via a bus. Communications interface 36 may include, for example, an antenna, a transmitter, a receiver, a transceiver, network interface card and/or supporting hardware and/or firmware/software for enabling communications with another computing device. Communications interface 36 may be configured to receive and/or transmit any data that may be stored by memory 34 using any protocol that may be used for communications between computing devices. Communications interface 36 may, alternatively or additionally, be in communication with the memory 34, user interface 38 and/or any other component of promotion system 710, such as via a bus.

User interface 38 may be in communication with processor 302 to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to a user (e.g., provider and/or consumer). As such, user interface 38 may include support, for example, for a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, a RFID reader, credit card reader, barcode reader, biometric scanner, and/or other input/output mechanisms as represented by 308. User interface 38 may be in communication with the memory 34, communications interface 36, and/or any other component(s), such as via a bus. Although more than one input/output module and/or other component can be included in promotion system 710, only one is shown in FIG. 7 to avoid overcomplicating the drawing (like the other components discussed herein).

FIG. 7 also shows an example circuitry that may be included in promotional computing module 712, which may be configured to perform the detection, capturing, analysis, calculation, management and/or other functionality discussed in connection with promotion system 710. In this manner, from the provider's perspective, promotional computing module 712 may provide cloud computing functionality and services to the provider. As illustrated in FIG. 7 and in accordance with some example embodiments, promotional computing module 712 can includes various means, such as capturing module 714, programming module 716 and/or calculating module 718.

Capturing module 714 may be included and configured to perform the functionality discussed herein related to accessing a network or the world wide web (WWW) and/or capturing review information from a network, the WWW, and/or a database. In order to capture review information, capturing module 714 may be configured to determine locations and/or formats of review information. In some embodiments, some or all of the functionality of capturing module 714 may be performed by processor 32. In this regard, the example processes and algorithms discussed herein can be performed by at least one processor 32 and/or capturing module 714. For example, non-transitory computer readable media can be configured to store firmware, one or more application programs, and/or other software, which include instructions and other computer-readable program code portions that can be executed to control each processor (e.g., processor 32 and/or capturing module 714) of the components of promotional computing module 712 to implement various operations, including the examples shown above. As such, a series of computer-readable program code portions are embodied in one or more computer program products and can be used, with a computing device, server, and/or other programmable apparatus, to produce machine-implemented processes.

Programming module 716 can be configured for receiving raw data, generating attribute data; training a machine learning algorithm, such as SVM, decision tree learning, association rule learning, artificial neural networking, inductive logic programming, clustering, or the like, and testing the machine learning algorithm (e.g., FIG. 4).

Calculating module 718 may be configured to assign, calculate or determine a provider return rate. Furthermore, the calculating module 718 can be configured to correlate attribute data to a return rate, trim attribute data that is indeterminate of a return rate and/or selectively utilize attribute to optimize or improve the classifying model in conjunction with the programming module 716 (e.g., FIG. 5).

As will be appreciated, any such computer program instructions and/or other type of code may be loaded onto a computer, processor or other programmable apparatus's circuitry to produce a machine, such that the computer, processor other programmable circuitry that execute the code on the machine create the means for implementing various functions, including those described herein.

As described above and as will be appreciated based on this disclosure, embodiments of the present invention may be configured as methods, mobile devices, backend network devices, and the like. Accordingly, embodiments may comprise various means including entirely of hardware or any combination of software and hardware. Furthermore, embodiments may take the form of a computer program product on at least one non-transitory computer-readable storage medium having computer-readable program instructions (e.g., computer software) embodied in the storage medium. Any suitable computer-readable storage medium may be utilized including non-transitory hard disks, CD-ROMs, flash memory, optical storage devices, or magnetic storage devices.

Embodiments of the present invention have been described above with reference to block diagrams and flowchart illustrations of methods, apparatuses, systems and computer program products. It will be understood that each block of the circuit diagrams and process flowcharts, and combinations of blocks in the circuit diagrams and process flowcharts, respectively, can be implemented by various means including computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program product includes the instructions which execute on the computer or other programmable data processing apparatus create a means for implementing the functions specified in the flowchart block or blocks.

These computer program instructions may also be stored in a computer-readable storage device that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage device produce an article of manufacture including computer-readable instructions for implementing the function discussed herein. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions discussed herein.

Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the circuit diagrams and process flowcharts, and combinations of blocks in the circuit diagrams and process flowcharts, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.

Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these embodiments of the invention pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the embodiments of the invention are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation. 

1.-48. (canceled)
 49. A method comprising: supplying a set of classifying models with a dataset, wherein the dataset comprises an identification of a provider and a plurality of available attributes corresponding to the provider; and determining whether a value of a particular attribute of a particular provider is likely to satisfy a predetermined threshold, and wherein the determination of whether the value of the particular attribute of the provider is likely to satisfy the predetermined threshold comprises: determining an availability of a value of a second attribute within the plurality of available attributes; in an instance in which the availability of the value of the second attribute is determined, utilizing a first classifying model; in an instance in which an unavailability of the value of the second attribute is determined, utilizing a second classifying model; wherein each classifying model of the set of classifying models is trained to utilize a set of determinative attributes, and identifying one or more patterns of available attributes that match one or more patterns found in the set of determinative attributes, wherein each of one or more patterns is indicative of a known value of the second attribute; and identifying which of two classes to assign the provider in accordance with the identified patterns, wherein a first class of the two classes is indicative of a determination that the value of the particular attribute of the provider is likely to satisfy the predetermined threshold and a second class of the two classes is indicative of a determination that the value of the particular attribute of the provider is not likely to satisfy the predetermined threshold; and assigning a label to the provider, the label indicative of the class to which the provider is identified, the label assigned by the machine learning classification of the provider based on the value of the particular attribute of the provider.
 50. The method according to claim 49, further comprising determining, subsequent to determining the availability of the value of the second attribute, which one of a first subset of classifying models to utilize based on available attribute data, the first subset of classifying models comprising at the first classifying model.
 51. The method according to claim 49, further comprising determining, subsequent to determining the unavailability of the value of the second attribute, which one of a second subset of classifying models to utilize based on available attribute data, the second subset of classifying models comprising at the second classifying model.
 52. The method according to claim 51, wherein the determination of the first classifying model comprises matching the plurality of available attributes to the classifying model requiring at least a subset of the available attributes as determinative attributes.
 53. The method according to claim 52, wherein the determination of the second classifying model comprises matching the plurality of available attributes to the classifying model requiring at least a subset of the available attributes as determinative attributes.
 54. The method according to claim 49, wherein the corresponding attributes are assembled from one or more of (1) internal data, (2) external data, and (3) web data, wherein the corresponding attributes assembled from the internal data comprise one or more of category data, sub-category data, and competitor feature data.
 55. The method according to claim 49, further comprising generating the plurality of attributes by normalizing a plurality of raw data.
 56. The method according to claim 49, wherein the classifying model is a support vector machine.
 57. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: supply a set of classifying models with a dataset, wherein the dataset comprises an identification of a provider and a plurality of available attributes corresponding to the provider; and determine whether a value of a particular attribute of a particular provider is likely to satisfy a predetermined threshold, and wherein the determination of whether the value of the particular attribute of the provider is likely to satisfy the predetermined threshold comprises: determining an availability of a value of a second attribute within the plurality of available attributes; in an instance in which the availability of the value of the second attribute is determined, utilizing a first classifying model; in an instance in which an unavailability of the value of the second attribute is determined, utilizing a second classifying model; wherein each classifying model of the set of classifying models is trained to utilize a set of determinative attributes, and identifying one or more patterns of available attributes that match one or more patterns found in the set of determinative attributes, wherein each of one or more patterns is indicative of a known value of the second attribute; and identifying which of two classes to assign the provider in accordance with the identified patterns, wherein a first class of the two classes is indicative of a determination that the value of the particular attribute of the provider is likely to satisfy the predetermined threshold and a second class of the two classes is indicative of a determination that the value of the particular attribute of the provider is not likely to satisfy the predetermined threshold; and assign a label to the provider, the label indicative of the class to which the provider is identified, the label assigned by the machine learning classification of the provider based on the value of the particular attribute of the provider.
 58. The apparatus according to claim 57, wherein the at least one memory and computer program code are configured to, with the at least one processor, cause the apparatus to determine, subsequent to determining the availability of the value of the second attribute, which one of a first subset of classifying models to utilize based on available attribute data, the first subset of classifying models comprising at the first classifying model.
 59. The apparatus according to claim 57, wherein the at least one memory and computer program code are configured to, with the at least one processor, cause the apparatus to determine, subsequent to determining the unavailability of the value of the second attribute, which one of a second subset of classifying models to utilize based on available attribute data, the second subset of classifying models comprising at the second classifying model.
 60. The apparatus according to claim 58, wherein the determination of the first classifying model comprises matching the plurality of available attributes to the classifying model requiring at least a subset of the available attributes as determinative attributes.
 61. The apparatus according to claim 59, wherein the determination of the second classifying model comprises matching the plurality of available attributes to the classifying model requiring at least a subset of the available attributes as determinative attributes.
 62. The apparatus according to claim 57, wherein the corresponding attributes are assembled from one or more of (1) internal data, (2) external data, and (3) web data, wherein the corresponding attributes assembled from the internal data comprise one or more of category data, sub-category data, and competitor feature data.
 63. The apparatus according to claim 57, further comprising generating the plurality of attributes by normalizing a plurality of raw data.
 64. The apparatus according to claim 57, wherein the classifying model is a support vector machine.
 65. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions for: supplying a set of classifying models with a dataset, wherein the dataset comprises an identification of a provider and a plurality of available attributes corresponding to the provider; and determining whether a value of a particular attribute of a particular provider is likely to satisfy a predetermined threshold, and wherein the determination of whether the value of the particular attribute of the provider is likely to satisfy the predetermined threshold comprises: determining an availability of a value of a second attribute within the plurality of available attributes; in an instance in which the availability of the value of the second attribute is determined, utilizing a first classifying model; in an instance in which an unavailability of the value of the second attribute is determined, utilizing a second classifying model; wherein each classifying model of the set of classifying models is trained to utilize a set of determinative attributes, and identifying one or more patterns of available attributes that match one or more patterns found in the set of determinative attributes, wherein each of one or more patterns is indicative of a known value of the second attribute; and identifying which of two classes to assign the provider in accordance with the identified patterns, wherein a first class of the two classes is indicative of a determination that the value of the particular attribute of the provider is likely to satisfy the predetermined threshold and a second class of the two classes is indicative of a determination that the value of the particular attribute of the provider is not likely to satisfy the predetermined threshold; and assigning a label to the provider, the label indicative of the class to which the provider is identified, the label assigned by the machine learning classification of the provider based on the value of the particular attribute of the provider.
 66. The computer program product according to claim 65, wherein the computer-executable program code portions further comprise program code instructions for determining, subsequent to determining the availability of the value of the second attribute, which one of a first subset of classifying models to utilize based on available attribute data, the first subset of classifying models comprising at the first classifying model.
 67. The method according to claim 49, wherein the computer-executable program code portions further comprise program code instructions for determining, subsequent to determining the unavailability of the value of the second attribute, which one of a second subset of classifying models to utilize based on available attribute data, the second subset of classifying models comprising at the second classifying model.
 68. The computer program product according to claim 66, wherein the determination of the first classifying model comprises matching the plurality of available attributes to the classifying model requiring at least a subset of the available attributes as determinative attributes.
 69. The computer program product according to claim 67, wherein the determination of the second classifying model comprises matching the plurality of available attributes to the classifying model requiring at least a subset of the available attributes as determinative attributes.
 70. The computer program product according to claim 65, wherein the corresponding attributes are assembled from one or more of (1) internal data, (2) external data, and (3) web data, wherein the corresponding attributes assembled from the internal data comprise one or more of category data, sub-category data, and competitor feature data.
 71. The computer program product according to claim 65, further comprising generating the plurality of attributes by normalizing a plurality of raw data.
 72. The computer program product according to claim 65, wherein the classifying model is a support vector machine. 